/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package restaurante.sessionbeans;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import restaurante.entidades.Pedido;

/**
 *
 * @author omar
 */
@Stateless
public class PedidoFacade extends AbstractFacade<Pedido> implements PedidoFacadeLocal {
    @PersistenceContext(unitName = "RestauranteEJB-ejbPU")
    private EntityManager em;
    Query qr;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public PedidoFacade() {
        super(Pedido.class);
    }
    @Override
    public int getCountMax(){
        String query = "SELECT MAX(p.idpedido) FROM Pedido p";
        qr = em.createQuery(query,Integer.class);
        return (Integer)qr.getSingleResult();
    }
    @Override
    public List<Pedido> listarPedidosActivos(){
        String query = "SELECT p FROM Pedido p WHERE p.estado = 0";
        qr = em.createQuery(query);
        return (List<Pedido>)qr.getResultList();
    }     
    @Override
    public Pedido obtenerPedidoActivo(Pedido pedido){
        String query = "SELECT p FROM Pedido p WHERE p.clienteidCliente.idCliente = '"+pedido.getClienteidCliente().getIdCliente()+"' AND "+
                            "p.mesaIdmesa.idmesa = "+pedido.getMesaIdmesa().getIdmesa().toString()+" AND p.estado = 0";
        qr = em.createQuery(query,Pedido.class);
        try{
            return (Pedido) qr.getSingleResult();
        }catch(Exception ex){
            ex.printStackTrace();
            return null;
        }
    } 
}
